39 research outputs found

    Lambda-Dropping: Transforming Recursive Equations into Programs with Block Structure

    Get PDF
    Lambda-lifting a functional program transforms it into a set of recursiveequations. We present the symmetric transformation: lambda-dropping.Lambda-dropping a set of recursive equations restores blockstructure and lexical scope.For lack of scope, recursive equations must carry around all theparameters that any of their callees might possibly need. Both lambda-liftingand lambda-dropping thus require one to compute a transitiveclosure over the call graph:- for lambda-lifting: to establish the Def/Use path of each freevariable (these free variables are then added as parameters toeach of the functions in the call path);- for lambda-dropping: to establish the Def/Use path of each parameter(parameters whose use occurs in the same scope as theirdefinition do not need to be passed along in the call path).Without free variables, a program is scope-insensitive. Its blocks arethen free to float (for lambda-lifting) or to sink (for lambda-dropping)along the vertices of the scope tree.We believe lambda-lifting and lambda-dropping are interesting perse, both in principle and in practice, but our prime application is partialevaluation: except for Malmkjær and Ørbæk's case study presented atPEPM'95, most polyvariant specializers for procedural programs operateon recursive equations. To this end, in a pre-processing phase,they lambda-lift source programs into recursive equations. As a result,residual programs are also expressed as recursive equations, often withdozens of parameters, which most compilers do not handle efficiently.Lambda-dropping in a post-processing phase restores their block structureand lexical scope thereby significantly reducing both the compiletime and the run time of residual programs.

    Towards Error Handling in a DSL for Robot Assembly Tasks

    Full text link
    This work-in-progress paper presents our work with a domain specific language (DSL) for tackling the issue of programming robots for small-sized batch production. We observe that as the complexity of assembly increases so does the likelihood of errors, and these errors need to be addressed. Nevertheless, it is essential that programming and setting up the assembly remains fast, allows quick changeovers, easy adjustments and reconfigurations. In this paper we present an initial design and implementation of extending an existing DSL for assembly operations with error specification, error handling and advanced move commands incorporating error tolerance. The DSL is used as part of a framework that aims at tackling uncertainties through a probabilistic approach.Comment: Presented at DSLRob 2014 (arXiv:cs/1411.7148

    Roles and Self-Reconfigurable Robots

    Get PDF
    Abstract. A self-reconfigurable robot is a robotic device that can change its own shape. Self-reconfigurable robots are commonly built from multiple identical modules that can manipulate each other to change the shape of the robot. The robot can also perform tasks such as locomotion without changing shape. Programming a modular, self-reconfigurable robot is however a complicated task: the robot is essentially a real-time, distributed embedded system, where control and communication paths often are tightly coupled to the current physical configuration of the robot. To facilitate the task of programming modular, self-reconfigurable robots, we have developed a declarative, role-based language that allows the programmer to associate roles and behavior to structural elements in a modular robot. Based on the role declarations, a dedicated middleware for high-level distributed communication is generated, significantly simplifying the task of programming self-reconfigurable robots. Our language fully supports programming the ATRON self-reconfigurable robot, and has been used to implement several controllers running both on the physical modules and in simulation

    Adrenal function recovery after durable oral corticosteroid sparing with benralizumab in the PONENTE study

    Get PDF
    Background Oral corticosteroid (OCS) dependence among patients with severe eosinophilic asthma can cause adverse outcomes, including adrenal insufficiency. PONENTE's OCS reduction phase showed that, following benralizumab initiation, 91.5% of patients eliminated corticosteroids or achieved a final dosage ≤5 mg·day-1 (median (range) 0.0 (0.0-40.0) mg). Methods The maintenance phase assessed the durability of corticosteroid reduction and further adrenal function recovery. For ~6 months, patients continued benralizumab 30 mg every 8 weeks without corticosteroids or with the final dosage achieved during the reduction phase. Investigators could prescribe corticosteroids for asthma exacerbations or increase daily dosages for asthma control deteriorations. Outcomes included changes in daily OCS dosage, Asthma Control Questionnaire (ACQ)-6 and St George's Respiratory Questionnaire (SGRQ), as well as adrenal status, asthma exacerbations and adverse events. Results 598 patients entered PONENTE; 563 (94.1%) completed the reduction phase and entered the maintenance phase. From the end of reduction to the end of maintenance, the median (range) OCS dosage was unchanged (0.0 (0.0-40.0) mg), 3.2% (n=18/563) of patients experienced daily dosage increases, the mean ACQ-6 score decreased from 1.26 to 1.18 and 84.5% (n=476/563) of patients were exacerbation free. The mean SGRQ improvement (-19.65 points) from baseline to the end of maintenance indicated substantial quality-of-life improvements. Of patients entering the maintenance phase with adrenal insufficiency, 32.4% (n=104/321) demonstrated an improvement in adrenal function. Adverse events were consistent with previous reports. Conclusions Most patients successfully maintained maximal OCS reduction while achieving improved asthma control with few exacerbations and maintaining or recovering adrenal function

    Lambda-Dropping: Transforming Recursive Equations into Programs with Block Structure

    No full text
    Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent BRICS Report Series publications. Copies may be obtained by contacting: BRIC

    This document in subdirectoryRS/02/30/ Lambda-Lifting in Quadratic Time

    No full text
    Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent BRICS Report Series publications. Copies may be obtained by contacting: BRIC

    Lambda-Dropping: Transforming Recursive Equations into Programs with Block Structure

    No full text
    Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent BRICS Report Series publications. Copies may be obtained by contacting: BRIC
    corecore